﻿namespace MyTRCP.Common.MyProtocol
{
    //客户端hello，1、提供客户端身份公钥。2、提供随机的客户端ecdh公钥。
    //服务端hello，1、验证客户端公钥是否白名单。2、提供服务端身份公钥。3、用客户端公钥加密一个挑战，提交。4、提供随机的服务端ecdh公钥。5、根据客户端ecdh公钥与服务端ecdh私钥生成ecdh协商值，备用
    //客户端auth，1、验证服务端公钥是否白名单。2、用客户端私钥解密服务端提出的挑战，hash后提交。3、用服务端公钥加密一个挑战，提交。4、根据服务端ecdh公钥与客户端ecdh私钥生成ecdh协商值，备用
    //服务端auth，1、验证提交的hash挑战是否匹配。2、用服务端私钥解密客户端提出的挑战，hash后提交。
    //客户端收到回复后，验证服务端回复的hash挑战是否匹配。如是，验证成功，后续使用协商值作为秘钥进行加密通讯；否则失败。
    public enum MyProtocolAuthStageEnum : byte { AUTH_NOT_START, CLIENT_SAY_HELLO, BRIDGE_SAY_HELLO, CLIENT_REQUEST_AUTH, BRIDGE_REPLY_AUTH, AUTH_COMPLETE, AUTH_FAILED };
}
